|
Microwave filters GUI
2.0.3
|
Characteristic polynomials class. More...
Public Member Functions | |
| def | __init__ |
| Compute characteristic polynomials and characteristic constants. | |
| def | symmetrizeTZ |
| A list of transmission zeros in unnormalized frequency (Hz) is symmetrized in the normalized frequency axis. | |
| def | checkUnormSymTZ |
| Check if list of transmission zeros (in Hz) is symmetric with respect to center frequency f0. | |
| def | checkNormSymTZ |
| Check if list of normalized transmission zeros is symmetric with respect to zero. | |
| def | polyStr |
| Return string with polynomial coefficients separated by commas. | |
| def | saveCharPolys |
| Save Characteristic Polynomials and constants in output file. | |
Characteristic polynomials class.
Characteristic polynomials and constants are defined as [TN 101 eq. (1)] :
where
is the 'Paraconjugate' polynomial of
[Cameron pp. 208 footnote] and is computed using polyConj function.
Definition at line 83 of file libfreefilters.py.
| def libfreefilters.CharPolys.__init__ | ( | self, | |
| P, | |||
| FT, | |||
symmetrizeZeros = None |
|||
| ) |
Compute characteristic polynomials and characteristic constants.
@param P = Parameter class instance containing filter, synthesis and sweep parameters.
@param FT = Frequency transformation class instance.
@param symmetrizeZeros = Automatically symmetrize Generalized Chebyshev zeros in Hz in order to compute a folded matrix with uniform Q in resonators.
Equivalent to answering "Yes" in the GUI when it asks the user if he wants to symmetrize Generalized Chebyshev zeros in Hz.
@return CharPolys class instance.
Characteristic polynomial
Characteristic polynomial
Characteristic polynomial
Characteristic polynomial
Characteristic constant
in the denominator of
and
Characteristic constant
in the denominator of
Roundoff error estimation in the computation of lossless characteristic polynomials, given by the rootsErr return value in CharPolys.factorization method. Value 'a' of the (s-a)/(s+a) zero/pole added in lossy filters synthesis case 3.
Definition at line 93 of file libfreefilters.py.
References libcommonfunc.askQuestion(), libfreefilters.butterworthFilter(), libfreefilters.chebyshevFilter(), libfreefilters.CharPolys.checkNormSymTZ(), libfreefilters.CharPolys.checkUnormSymTZ(), libfreefilters.CharPolys.eps, libfreefilters.CharPolys.epsR, libfreefilters.CharPolys.Es, libfreefilters.CharPolys.F22s, libfreefilters.CharPolys.flagCase1, libfreefilters.CharPolys.flagCase2, libfreefilters.CharPolys.flagCase3, libfreefilters.CharPolys.flagComplexTZ, libfreefilters.CharPolys.flagExtraFilter, libfreefilters.CharPolys.flagSymTZ, libfreefilters.CharPolys.flagSymTZnorm, libfreefilters.CharPolys.flagSymTZunorm, libfreefilters.CharPolys.Fs, libfreefilters.CharPolys.nuqDelta, libfreefilters.polyConj(), libfreefilters.CharPolys.Ps, libfreefilters.quasiElipticFilter(), libfreefilters.CharPolys.rootsErr, and libfreefilters.CharPolys.symmetrizeTZ().

| def libfreefilters.CharPolys.checkNormSymTZ | ( | self, | |
| TZ | |||
| ) |
Check if list of normalized transmission zeros is symmetric with respect to zero.
| TZ | = List of normalized transmission zeros. |
Definition at line 282 of file libfreefilters.py.
Referenced by libfreefilters.CharPolys.__init__().

| def libfreefilters.CharPolys.checkUnormSymTZ | ( | self, | |
| TZ, | |||
| FT | |||
| ) |
Check if list of transmission zeros (in Hz) is symmetric with respect to center frequency f0.
| TZ | = List of transmission zeros in Hz. |
| FT | = Frequency transform class instance. It will be used to get f0. |
Definition at line 264 of file libfreefilters.py.
Referenced by libfreefilters.CharPolys.__init__().

| def libfreefilters.CharPolys.polyStr | ( | self, | |
| pol, | |||
| prec | |||
| ) |
Return string with polynomial coefficients separated by commas.
Rounds polynomial coefficients to given precision using complexStr() function.
| pol | = Polynomial (numpy.poly1d object). |
| prec | = Number of significant digits (int). |
Definition at line 302 of file libfreefilters.py.
References libcommonfunc.complexStr().
Referenced by libfreefilters.CharPolys.saveCharPolys().


| def libfreefilters.CharPolys.saveCharPolys | ( | self, | |
| P, | |||
| prec | |||
| ) |
Save Characteristic Polynomials and constants in output file.
Rounds polynomial coefficients to given precision using complexStr() function. Polynomials are of type numpy.poly1d.
| P | = Parameter class instance. |
| prec | = Number of correct significant digits to print. |
Definition at line 321 of file libfreefilters.py.
References libcommonfunc.complexStr(), libfreefilters.CharPolys.eps, libfreefilters.CharPolys.epsR, libfreefilters.CharPolys.Es, libfreefilters.CharPolys.Fs, libcommonfunc.myPrint(), libcommonfunc.pkgNameVersion(), libfreefilters.CharPolys.polyStr(), and libfreefilters.CharPolys.Ps.

| def libfreefilters.CharPolys.symmetrizeTZ | ( | self, | |
| TZ, | |||
| FT | |||
| ) |
A list of transmission zeros in unnormalized frequency (Hz) is symmetrized in the normalized frequency axis.
The positive zeros are averaged with the corresponding negative zeros in the normalized frequency axis.
| TZ | = List of transmission zeros. Unnormalized frequency (Hz). |
| FT | = Frequency transform class instance. |
Definition at line 245 of file libfreefilters.py.
Referenced by libfreefilters.CharPolys.__init__().

1.8.1.2